package com.zr.dao.sys;

import com.zr.vo.sys.SysAuth;

import java.util.List;

/***
 * 权限操作 dao层
 */
public interface SysAuthDao {
    int deleteByPrimaryKey(Integer id);

    int insert(SysAuth record);

    int insertSelective(SysAuth record);

    SysAuth selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(SysAuth record);

    int updateByPrimaryKey(SysAuth record);

    /***
     * 根据父权限id查询
     * @param pid
     * @return
     */
    List<SysAuth> selectByPid(Integer pid);

    /***
     * 根据角色id查询
     * @param roleId
     * @return
     */
    List<SysAuth> selectByRoleId(Integer roleId);

    /***
     * 根据当前用户查询
     * @param userId
     * @return
     */
    List<SysAuth> listByCurrentUser(String userId);

    /***
     * 根据用户账号查询
     * @param userId
     * @return
     */
    List<SysAuth> authListByUserId(String userId);


    /***
     * 查询所有父权限
     * @return
     */
    List<SysAuth> getParents();

    /***
     * 根据父权限id查询子权限并根据seq排序
     * @param pid
     * @return
     */
    List<SysAuth> selectByPidOrder(Integer pid);
}